home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Atari Mega Archive 1
/
Atari Mega Archive - Volume 1.iso
/
language
/
fixes.arc
/
README
< prev
next >
Wrap
Text File
|
1989-06-04
|
3KB
|
91 lines
Fixes to the following bugs reports are included in this archive.
bzero.s
A long count is taken from the stack. It should be an int.
bzero.s
The 'btst' instruction is not assembled correctly by Sozobon.
memcpy.s
A long count is taken from the stack. It should be an int.
memcpy.s
The 'btst' instruction is not assembled correctly by Sozobon.
lmemcpy.s
The 'btst' instruction is not assembled correctly by Sozobon.
lmemcpy.s
The source pointer is not checked for alignment and the case of
different src/dst alignment (requiring a byte-copy) is not checked.
stat.c
The access() return values are reversed.
findfile.c
Fixed access() call to use corrected return value.
open.c
Fixed access() call to use corrected return value.
stdio.h
Fixed #define for exists() to use corrected return value.
assert.h
__LINE__ and __FILE__ are not yet defined for Sozobon, and
are definately not availble for Alcyon, thus causing errors
when -DNDEBUG is not used. A simplistic assert() is provided
instead which only reports a failure, not the file and line.
osbind.h
Added an undocumented XBIOS call, Steprate(drive,rate).
fopen.c/fdopen.c
fopen() and fdopen() contain calls to fputs() with the arguments
reversed. This can only happen if they're passed an illegal
argument string, which isn't likely, but if it happens a crash
would result.
write.c
Short output counts are not being reported as errors.
perror.c
The fputs() call to print the error message needs a file pointer.
fclose.c
The return value from fflush() is not tested.
The following bug reports have been confirmed, but not fixed yet.
dlibs.a
The library order is wrong. realloc.o references lmemcpy.o.
All of mem*.o and maybe str*.o should be moved below malloc.o
and friends.
The following bug reports have been denied.
system.c
system() is practically guaranteed to fail.
[[system() tries to used the system variable _shell_p first,
then tries to execute a program named by the SHELL environment
variable, finally it tries to execute a program named by the
first token on the command line. The PATH environement
variable is used for all but the _shell_p case. Since TOS
has a default PATH consisting only of the boot device root
directory, and not "." or "" indicating the current directory,
the PATH search often fails to find the program. -Dal]]
memcpy.c/lmemcpy.c
dLibs documentation claims that length parameter to memcpy and
lmemcpy is either int or long. Code documents and works (more
logically, but with some discrepancy with U*IX library) with
unsigned quantities.
[[Although the documentation and implementation differ, the
documentation is consistent with *NIX libraries. The fact
that the implementation is more flexible is intended to be
more convenient, and should not be counted on in portable
programs. If the documentation is followed the program will
operate correctly. -Dal]]